package bill.study.concurrency.executorframework;

import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
public class BeeperControl {
	private final ScheduledExecutorService scheduler = Executors
			.newScheduledThreadPool(1);
	
	public void beepForAnHour(){
		final Runnable beeper = new Runnable(){
			public void run(){ System.out.println("beep");
		}
	};
	final ScheduledFuture<?> beeperHandle =
		scheduler.scheduleAtFixedRate(beeper, 10, 10, TimeUnit.SECONDS);
	
	scheduler.schedule(new Runnable(){

		@Override
		public void run() {
			beeperHandle.cancel(true);
			
		}}, 60*1, TimeUnit.SECONDS);
	}
	
	
	public static void main(String [] args){
		new BeeperControl().beepForAnHour();
	}

}
